home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / text / faqs / smalltalk-faq < prev    next >
Encoding:
Internet Message Format  |  1994-05-17  |  54.9 KB

  1. Subject: Smalltalk Frequently-Asked Questions (FAQ)
  2. Newsgroups: comp.lang.smalltalk,news.answers,comp.answers
  3. From: Craig Latta <Craig.Latta@NetJam.ORG>
  4. Date: 16 May 1994 01:22:55 GMT
  5.  
  6. Archive-name: smalltalk-faq
  7. Last-modified: 1994/3/2
  8. Version: 3.8
  9.  
  10.  
  11. ***
  12.  
  13.     This is a Smalltalk frequently-asked-questions (FAQ) document,
  14. distributed by Craig Latta <Craig.Latta@NetJam.ORG>. It is (ostensibly) posted
  15. fortnightly to the USENET newsgroups comp.lang.smalltalk and
  16. news.answers.
  17.     It is also available as
  18. ftp://XCF.Berkeley.EDU/pub/misc/smalltalk/SmalltalkFAQ. Finally, it
  19. can be obtained by mail by emailing Smalltalk-request@XCF with the
  20. subject line "request for FAQ". The machine XCF.Berkeley.EDU has IP
  21. address 128.32.138.1.
  22.  
  23.     Please send contributions, suggestions and comments to
  24. Smalltalk-request@XCF.Berkeley.EDU. They are greatly appreciated. I realize
  25. that information has a short half-life. 
  26.     Obviously (to me, anyway), it's silly to force a structured
  27. document like this one to exist as a flat text stream. In the medium
  28. term, I'm in the midst of redoing this document as hypertext
  29. (suitable for serving via the World Wide Web), and implementing a
  30. Smalltalk interface for editing and reading it in the long term.
  31. Offers of assistance are welcome.
  32.  
  33.  
  34.         Thanks,
  35.  
  36. -C
  37.  
  38.  
  39. ***
  40.  
  41.     New items are marked with a '+'. Modified existing items are
  42. marked with a '*'. 
  43.  
  44.  
  45.     Contents:
  46.  
  47. 0.0)    [Meta-issues]    
  48. 0.1)        How can I browse ftp sites and their data without
  49.             using my own disk space (unless I want to keep
  50.             data), and locate files on ftp sites, given
  51.             pathname fragments?
  52. 0.2)        Is comp.lang.smalltalk archived or available via
  53.             email?
  54.  
  55. 1.0)     [Archival]
  56. 1.1)         What free or low-cost Smalltalk implementations are
  57.             there? How can I get GNU Smalltalk?
  58. 1.2)        What Smalltalk archives are there?
  59.  
  60. 2.0)     [Projects]
  61. 2.1)        What is Smallmusic?
  62. 2.2)         What is CoolDraw?
  63. 2.3)        What is SmallDraw?
  64. 2.4)        What work is being done with neural nets in Smalltalk?
  65.  
  66. 3.0)     [References]
  67. 3.1)        Can someone recommend a good introduction to
  68.             Model-View-Controller concepts?
  69. 3.2)        Is there a Smalltalk bibliography?
  70. 3.3)        What are the "blue book", "purple book", etc?
  71. 3.4)        Who are some employers of Smalltalk programmers?
  72. 3.5)        What is the Smalltalk Report?
  73. 3.6)          Is there a GNU Smalltalk tutorial?
  74. 3.7)         What's a summary of multiple inheritance in Smalltalk?
  75. 3.8)        What's the status of the ANSI Smalltalk
  76.             standardization effort?
  77. 3.9)        Have there been any studies done on performance
  78.             differences between complete C++/Smalltalk
  79.             (specifically ObjectWorks\Smalltalk)
  80.             applications in terms of runtime and space
  81.             consumption? 
  82. 3.10)        Where can I learn about the history of Smalltalk?
  83. 3.11)        How can I get the Smalltalk Resource Guide?
  84.  
  85. 4.0)    [Programming issues]
  86. 4.1)        What are some "classic Smalltalk bugs", both in the
  87.             system and programmer domains?
  88. 4.2)        How do I use Pool dictionaries?
  89. 4.3)        When browsing sources, I see 't1', 't2', etc., instead
  90.         of semantically    relevant variable names. What's
  91.         going on?
  92. 4.4)        What happened to >>deepCopy in ParcPlace Smalltalk?
  93.  
  94. 5.0)    ["Vendor"-specific issues]
  95. 5.1)        How compatible is GNU Smalltalk with Smalltalk-80 (or
  96.             Smalltalk/V)?
  97. 5.2)        How do I contact the producers of various Smalltalk
  98.             implementations? 
  99. 5.3)        How can I get information about HP distributed Smalltalk?
  100.  
  101. 6.0)    [Smalltalk implementation issues]
  102. 6.1)        Is Smalltalk interpreted or compiled?
  103.  
  104. ---
  105.  
  106. 0.0) [Meta-issues]    
  107.  
  108. ---
  109.  
  110. 0.1)        How can I browse ftp sites and their data without
  111.             using my own disk space (unless I want to keep
  112.             data), and locate files on ftp sites, given
  113.             pathname fragments?
  114.  
  115. Answer:
  116.  
  117.     This question might seem tangential at first (and I suppose it
  118. is). But it is vitally important, as resources such as papers,
  119. documentation, code and software tools become more numerous and
  120. distributed.
  121.  
  122.         There is a set of Emacs-Lisp ("elisp") code, called
  123. "ange-ftp.el", which makes 'ftp' use transparent within GNU Emacs (GNU
  124. Emacs is available via anonymous ftp from prep.ai.mit.edu). This
  125. package attempts to make accessing files and directories using FTP
  126. from within GNU Emacs as simple and transparent as possible.  A subset
  127. of the common file-handling routines are extended to interact with
  128. FTP. Using these routines, one is able to access remote files and one
  129. would any other local file, without having to write it locally to
  130. disk. The result is an immense virtual global filesystem.
  131.         The routines are available via anonymous ftp (naturally!) as
  132. tut.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/as-is/ange-ftp.tar.Z,
  133. (incidentally, if you already had "ange-ftp.el", you could paste the
  134. above line in response to Emacs' 'copy-file', stick "/anonyous@" in
  135. front of it, and copy the file.) My current version is dated 22
  136. October 1991.
  137.         Another useful bit of elisp is "saveconf.el". It saves the
  138. Emacs buffer list and window configuration between editing sessions.
  139. So, one can have several buffers, with several files open (as I
  140. usually do), quit and restart Emacs, and have the state preserved,
  141. cursor locations and windows included. Happily, it works well with
  142. "ange-ftp.el", so that even remote files are restored (after possibly
  143. having to prompt for passwords). "context.el" is also available via
  144. anonymous ftp from cis.ohio-state.edu, as
  145. pub/gnu/emacs/elisp-archive/saveconf.el.Z. Also look for
  146. "tree-dired.el" which provides for hierarchical directory editing.
  147.         Incidentally, it was very easy to produce references for the
  148. above tools, thanks to another tool called "archie", developed at
  149. McGill University. Dubbed a "resource discovery tool" by its authors,
  150. it comes in very handy when one knows what tools are needed but not
  151. their availability. Archie consists of a server for this information
  152. (basically from a database of directory trees from "all known"
  153. anonymous ftp sites, updated once per month), and a client, which may
  154. be run via 'telnet' from the server machine itself (frowned upon...),
  155. or from a standalone client available from that machine (...highly
  156. encouraged, for the considerable host load win). Some clients even
  157. perform ftp tasks based on user response to search results. There are
  158. clients available for dumb and X terminals as well as for (of course)
  159. Emacs. Poke around archie.mcgill.ca for a client and documentation.
  160.  
  161.     Adapting these tools (or at least new interfaces to them) for
  162. Smalltalk would make for several great projects. I'm working on it in my spare
  163. time. I'd love to hear from any interested people.
  164.  
  165.  
  166. -Craig
  167.  
  168.  
  169. ---
  170.  
  171. 0.2)         Is comp.lang.smalltalk archived or available via
  172.             email?
  173.  
  174. Answer:
  175.  
  176.     Yes:
  177.  
  178.         Info-CLS (formerly Smalk) is a mailing list which is
  179. bidirectionally gatewayed with comp.lang.smalltalk (via 
  180. NETNEWS@AUVM.BitNet). Every posting to c.l.s (with distribution 
  181. options USA or world) gets distributed to all subscribers of 
  182. Info-CLS, and vice versa every mailing to Info-CLS gets posted
  183. to c.l.s.
  184.  
  185.         There is a mailarchive associated with this list, i.e.
  186. every posting/mailing gets archived and can be keyword searched by
  187. e-mail.  In order to search the archive, which started somewhere 
  188. around September '92, send a mail message to
  189.  
  190.    LISTSERV@vm.gmd.de
  191.  
  192. containing something like:
  193. -----------------------------------cut here----
  194. //
  195. Database Search DD=Rules
  196. //Rules DD   *
  197. Search type & checking in INFO-CLS
  198. index
  199. print
  200. /*
  201. -----------------------------------and here----
  202. as the body part of the message. On details for more finegrained
  203. retrievals, read the doc which is obtainable by sending
  204.     GET LISTDB MEMO
  205. as the body part of a mail message to the listserv.
  206.  
  207. In order to get subscribed, send a mail message to the listserv,
  208. containing
  209.     SUBSCRIBE Info-CLS Your I. Name
  210. or drop me a note.
  211.  
  212. I want to add that I'm in the middle of preparing about another   
  213. years postings for upload (91-92), and am interested in further   
  214. private loggings for upload.                                      
  215. The archive is also available via gopher, but unfortunately only  
  216. as monthly chunks - which taaakes aaa looong tiiime to retrieve   
  217. them.  I haven't succeeded yet in convincing the staff at vm.gmd.de 
  218. to install software which can make single postings available by   
  219. subject.                                                          
  220. On my wishlist is a system written in (GNU) Smalltalk, accessible 
  221. via TCP/IP, representing some kind of 'remote dictionary'.  But   
  222. that's far in the clouds.                                         
  223.  
  224. -j|g (Joerg Rade jrade1@gwdg.de)
  225.  
  226. ---
  227.  
  228. 1.0)     [Archival]
  229.  
  230. ---
  231.  
  232. 1.1)        What free or low-cost Smalltalk implementations are
  233.             there? How can I get GNU Smalltalk?
  234.  
  235. Answer:
  236.  
  237.     GNU Smalltalk is free. The most current location, to my
  238. knowledge, is anonymous@prep.ai.mit.edu:pub/gnu/smalltalk-1.1.1.tar.Z.
  239. Please direct problems to the author, Steven Byrne, at
  240. sbb@eng.sun.com.
  241.  
  242.     Little Smalltalk, by Timothy Budd, is available as a book and
  243. sources, at bookstores. It is also available as
  244. anonymous@cs.dal.ca:pub/comp.archives/little-smalltalk.
  245.  
  246. ---
  247.  
  248. 1.2)        What Smalltalk archives are there?
  249.  
  250. Answer:
  251.  
  252.     There are many. Most of them simply archive GNU smalltalk, but
  253. there are also a few large archives containing many interesting and
  254. varied sources. All of the sites may be retrieved by invoking 'archie
  255. smalltalk' (see above reference to 'archie'). 
  256.     For convenience, descriptions of a few of the archives follow.
  257. If you have a site/announcement you'd like included, please let me
  258. know.
  259.  
  260.  
  261. **
  262.  
  263. Location: anonymous@XCF.Berkeley.EDU:misc/smalltalk
  264. Summary:
  265.     
  266.     Smalltalk FAQ, smallmusic discussion archive.
  267.  
  268. **
  269.  
  270. Host: mushroom.cs.man.ac.uk
  271. Summary: The Manchester Smalltalk archive. Information about it is
  272.     posted regularly to comp.lang.smalltalk.
  273.  
  274. **
  275.  
  276. Document: anonymous@st.cs.uiuc.edu:pub/Index
  277. Summary: Information about the UIUC Smalltalk archive (which has local
  278.     files and a mirror of the Manchester archive).
  279.  
  280. **
  281.  
  282. Document: anonymous@ccrma-ftp.stanford.edu:pub/st80/README
  283. Summary: Information about various Smalltalk-related offerings,
  284.     including the Musical Object Development Environment (MODE).
  285.  
  286.  
  287. ---
  288.  
  289. 2.0)     [Projects]
  290.  
  291. ---
  292.  
  293. 2.1)        What is Smallmusic?
  294.  
  295. Answer:
  296.  
  297.     A work group has formed to discuss and develop an
  298. object-oriented software system for music. The current environment is
  299. Smalltalk 80. The email address for the group is
  300. smallmusic@XCF.Berkeley.EDU.  If you are interested in joining the
  301. discussion, email smallmusic-request@XCF.Berkeley.EDU, with the
  302. subject line "add me".
  303.  
  304.     The abstract and outline to a recent version of our working
  305. paper follows. The document is available via ftp as
  306. anonymous@ccrma-ftp.stanford.edu:pub/st80/OOMR6.t.
  307.  
  308.  
  309.     Thanks,
  310.  
  311.     Craig Latta
  312.     latta@XCF.Berkeley.EDU
  313.  
  314. ***
  315.  
  316. Abstract to the working document
  317.  
  318.     This document describes an object-oriented description
  319. language for musical parameters, events and structures known as the
  320. Smallmusic Object Kernel (SmOKe) .  In object-oriented software terms,
  321. the representation is described in terms of software class hierarchies
  322. of objects that share state and behavior and implement the description
  323. language as their protocol. 
  324.     The authors believe this representation, and its proposed
  325. linear ASCII description in Smalltalk-80 syntax, to be well-suited as
  326. a basis for: (1) concrete description languages in other languages,
  327. (2) specially-designed binary storage and interchange formats, and (3)
  328. use within and between interactive multi-media, hypermedia
  329. applications in several application domains.
  330.  
  331.     There is an article about an environment implementing SmOKe,
  332. called the Musical Object Development Environment (MODE), in the
  333. Computer Music Journal, volume 16 number 3. There's an "outrageously
  334. sexy" screen shot of the MODE on the cover.
  335.  
  336. ---
  337.  
  338. 2.2)         What is CoolDraw?
  339.  
  340. Answer:
  341.  
  342. Newsgroups: comp.lang.smalltalk
  343. From: bnfb@csr.uucp (Bjorn Freeman-Benson)
  344. Subject: CoolDraw - HotDraw with Constraints (or ThingLab: The Next Generation)
  345. Organization: University of Victoria, Victoria, BC, Canada
  346. Date: Tue, 6 Apr 93 05:15:29 GMT
  347.  
  348. A while back I saw a query in this group about updated version of ThingLab.
  349. Well, I'm happy to announce that although the name has changed, the
  350. philosophy is the same, and CoolDraw is now available via anonymous FTP.
  351. Here is the READ.ME:
  352.  
  353. CoolDraw Release 3 Documentation                         5-Apr-93
  354.  
  355. I. What is CoolDraw?
  356.  
  357. CoolDraw is a constraint-based object-oriented drawing framework.  CoolDraw
  358. is similar to other MacDraw-like packages with one major exception:
  359. everything in CoolDraw is done with constraints.  The user interface is
  360. done with constraints.  Constraints can be added between figures.  Even the
  361. constraint debugger (a future feature) will be done with constraints.  The
  362. total integration of constraints makes it "pretty darn cool".  The system
  363. is written in ParcPlace Smalltalk-80 release 4.1.
  364.  
  365. CoolDraw is similar to other systems such as IntelliDraw, Chimera, and
  366. Briar.  Also note that CoolDraw is a technology demonstration and research
  367. tool -- not a fully debugged product.  Occasionally it requires some loving
  368. care.  And, quite naturally, it has some unimplemented features.
  369.  
  370. II. How do I use it?
  371.  
  372. Open a CoolDrawingEditor using the "open" message.  On the left is a tool
  373. palette.  The top tools are the usual drawing tools: selection, move to
  374. front, move to back, erase, etc.  The middle tools are figure creation
  375. tools: line, rectangle, ellipse, and so on.  The bottom four tools are the
  376. constraint creation and deletion tools: three for creation (one variable,
  377. two variable, and three variable constraints) and one for deletion.
  378.  
  379. While you automatically use constraints by just creating figures and moving
  380. them around on the screen (because the entire system uses constraints
  381. internally), if you want to create explicit constraints, you have to use
  382. one of the tools.  The cursor of the tool changes to indicate how many
  383. figures have been selected and when enough are selected a dialog box
  384. appears with a standard selection of constraints.  If you want some other
  385. constraint, then press the "Custom" button and a second dialog box offering
  386. a complete selection of constraints will appear.
  387.  
  388. When the constraint deletion tool is clicked on a figure, it offers a list
  389. of all the explicit constraints attached to that figure.  Any number can be
  390. selected and deleted at once.
  391.  
  392. III. How do I get it?
  393.  
  394. Anonymous FTP from ursamajor.uvic.ca in ~ftp/ursa/constraints/CoolDraw
  395. There are two options.  Get the image:
  396.     cooldraw.image.tar.Z
  397. or get the source code:
  398.     cooldraw.source.tar.Z
  399.  
  400. IV. What are the bugs?
  401.  
  402. Numerous.  The major flaws are that the constraint system is not currently
  403. powerful enough to solve cycles or simultaneous equations, and that there
  404. is not a large selection of figures.  Minor ones include that the three
  405. constraint tool is not implemented.
  406.  
  407. The most noticable un-bug is that the constraints do not always do what you
  408. expect.  This is a well-known problem is constraint research and has no
  409. known solution short of a mind-reading computer.  The constraint
  410. hierarchies that CoolDraw uses can help, and future versions will have more
  411. default weak constraints to create "expected" behavior.
  412.  
  413. V. What are the future plans?
  414.  
  415. We intend to continue work on three fronts: (1) fix the details (make more
  416. figures available; fix the dialog boxes; provide a wider assortment of
  417. built-in constraints; implement the three constraint tool; etc.); (2)
  418. improve the constraint solver to deal with more complex constraints yet
  419. retain its efficiency; (3) add other cool things such as constraint
  420. debugging tools, animation, etc.
  421.  
  422. VI. What else should I know?
  423.  
  424. Without explicitly inspecting the drawing, there is no access to the
  425. internal consistency constraints of the figures.
  426.  
  427. VIII. Credits and Copyright
  428.  
  429. See the startup screen.
  430.  
  431. The CoolDraw code is copyright 1993 by Bjorn N. Freeman-Benson, and its
  432. commercial use is restricted.  For information about the HotDraw or SkyBlue
  433. code, contact the respective authors: Ralph Johnson and Michael Sannella.
  434.  
  435. Naturally, we would be happy to hear from anyone who uses, plays around
  436. with, or just looks at the system.  
  437.  
  438. Regards,
  439. Bjorn N. Freeman-Benson
  440.  
  441. ---
  442.  
  443. 2.3)        What is SmallDraw?
  444.  
  445. From: benson@siemens.siemens.com (Dan Benson)
  446. Subject: SmallDraw for VisualWorks
  447. Organization: Siemens Corporate Research, Inc
  448. Date: Tue, 29 Jun 1993 18:37:28 GMT
  449.  
  450. I recently submitted a version of SmallDraw that now runs under
  451. VisualWorks to the Illinois archive. It's availabe via anonymous
  452. ftp at: st.cs.uiuc.edu as /pub/st80_vw/SmallDraw.VW
  453.  
  454. SmallDraw is a very simple structured graphics editor that was
  455. originally written to run under Release 4.0. I wrote a series
  456. of three articles for The Smalltalk Report last year in which
  457. I used the SmallDraw application to illustrate Release 4 graphics
  458. and MVC construction. The modifications to SmallDraw to make
  459. it run under VisualWorks were made by David Arctur 
  460. (arctur@djembe.geoplan.ufl.edu). Thank you David!
  461.  
  462.  
  463. Dan Benson                 Siemens Corporate Research, Inc.
  464. (609) 734-3668             755 College Road East
  465. dbenson@scr.siemens.com    Princeton, NJ  08540
  466.  
  467. ---
  468.  
  469. 2.4)        What work is being done with neural nets in Smalltalk?
  470.  
  471. From: rvl@tomcat1.tomcat.de ( GF)
  472. Newsgroups: comp.ai.neural-nets,comp.lang.smalltalk
  473. Date: 3 Nov 93 10:25:15 GMT
  474. Organization: TOMCAT, Germering, Germany
  475.  
  476. There exists one small implementation of
  477. "The simple Neural Network for taught Samples Distinguishing", which has been 
  478. realised at Technical University in Prague (CVUT) supported by Tomcat.
  479. This first version is implemented in ST/V, and will be ported to ST/X in 
  480. the next future.
  481.  
  482. For more information the best way is to contact us (with your address),
  483. we will send you some papers...,
  484. or to contact the CVUT directly via eMail:
  485. muller@sclab.felk.cvut.cz Dr. Mueller
  486. kolar@cslab.felk.cvut.cz Dr. Kolar
  487. (both are Docs at the university and co-owners of FELTECH ltd. 
  488. specialised in OO-Technology)
  489.  
  490. Richard.
  491.  
  492. Tomcat computer GmbH
  493. Richard v. Lavante
  494. Fruehlingstr. 4
  495. D-82110 Germering bei Muenchen
  496. Germany
  497. eMail rvl@tomcat.de
  498. Tel. +49-89-84 99 92
  499. Fax. +49-89-84 95 44
  500.  
  501. ---
  502.  
  503. 3.0)     [References]
  504.  
  505. ---
  506.  
  507. 3.1)        Can someone recommend a good introduction to
  508.             Model-View-Controller concepts?
  509.  
  510. Answer:
  511.  
  512. From: ege@blitz.fiu.edu (Dr. Raimund K. Ege)
  513. Newsgroups: comp.lang.smalltalk
  514. Subject: Re: MVC -- good introductions?
  515. Date: 8 Mar 92 18:26:40 GMT
  516. Organization: Florida International Univ.
  517.  
  518. Look at Chapter 10 in the following book that just came out:
  519.  
  520. Programming in an Object-Oriented Environment,
  521. by Raimund K. Ege
  522.  
  523. Academic Press, Inc., San Diego, CA, 1992, hardcover,
  524. ISBN 0-12-232930-9
  525.  
  526. To order call 1-800-321-5068.
  527.  
  528. (also: Academic Press Limited, London, United Kingdom)
  529.  
  530. It presents a complete and thorough introduction to all object-oriented
  531. concepts. It contains a large
  532. example/case study, and a comparison of major OO programming languages. 
  533.  
  534. In addition, the book extends the object-oriented view
  535. to all elements of the programming environment: data structures
  536. and algorithms, programming tools, user interfaces, data bases and
  537. software design. 
  538.  
  539. Chapter 10 is on user interfaces: it describes and illustrates
  540. the Smalltalk MVC paradigm (also: InterViews)
  541.  
  542. -- 
  543. Raimund K. Ege                             School of Computer Science
  544.                                              Florida Int'l University
  545. ege@scs.fiu.edu           (305) 348-3381              University Park
  546. ege@servax.bitnet     FAX (305) 348-3549              Miami, FL 33199
  547.  
  548. **
  549.  
  550. From: asmundvn@dcs.glasgow.ac.uk (Nils Erik Asmundvaag)
  551. Newsgroups: comp.lang.smalltalk
  552. Subject: Re: MVC -- good introductions?
  553. Date: 11 Mar 92 10:56:38 GMT
  554. Organization: Glasgow University Computing Science Dept.
  555.  
  556. The book
  557.  
  558.     Smalltalk-80: A Practical Introduction
  559.     (ISBN 0-273-03105-8)
  560.  
  561.     by Philip D. Gray & Ramzan Mohamed, 1990
  562.     and published by Pitman (at least in the UK)
  563.  
  564. contains two chapters on interactive applications and the MVC.
  565.  
  566. I found it very helpful when first learning about the MVC.
  567.  
  568. Nils E. Asmundvaag
  569.  
  570. -- 
  571. -------------------------------------------------------------------------------
  572. Nils Erik Asmundvaag                         
  573. University of Glasgow, Scotland
  574. asmundvn@dcs.glasgow.ac.uk      asmundvn@uk.ac.glasgow.dcs
  575.  
  576.  
  577. **
  578.  
  579. From: bruce@utafll.uta.edu (Bruce Samuelson)
  580. Newsgroups: comp.lang.smalltalk
  581. Subject: Re: how are st80 views and controllers used?
  582. Date: 12 Mar 92 14:12:48 GMT
  583. Organization: UTexas at Arlington, Linguistics
  584.  
  585. There are two papers on MVC that provide an introductory overview of
  586. the pre-version 4.0 ST80 scheme.  Much of what's in them also applies
  587. to version 4.0.  I understand that one of PPS's priorities in the
  588. forthcoming version 4.1 will be improved documentation.  We'll see how
  589. well they explain the new windowing scheme launched in version 4.0.
  590. It would certainly be helpful to get an overview of what's going on
  591. before plunging into the source code of the myriad new classes.
  592.  
  593. (1) A Cookbook for using the Model-View-Controller User Interface
  594. Paradigm in Smalltalk-80 by Glenn E. Krasner and Stephen T. Pope,
  595. Journal of Object-Oriented Programming, volume 1 number 3, pp. 26-49,
  596. 1988
  597.  
  598. (2) Applications Programming in Smalltalk-80: How to Use
  599. Model-View-Controller (MVC) by Steve Burbeck, Softsmarts, Inc.,
  600. copyright 1987.
  601.  
  602. The second paper is probably no longer available.  I think Softsmarts
  603. is the company that used to sell a version of Smalltalk for 80286
  604. machines but went out of business some years ago.  The phone number on
  605. the paper is listed as 415-327-8100 (Palo Alto, California).  You may
  606. try asking ParcPlace (or, less likely, Digitalk) if they have copies
  607. of Burbeck's paper.
  608.  
  609. --
  610. **********************************************************
  611. * Bruce Samuelson    Department of Linguistics     *
  612. * bruce@ling.uta.edu    University of Texas at Arlington *
  613. **********************************************************
  614.  
  615.  
  616. ---
  617.  
  618. 3.2)        Is there a Smalltalk bibliography?
  619.  
  620. Answer:
  621.  
  622.     There are many... here is one:
  623.  
  624. From: schultz@grebyn.com (Ronald Schultz)
  625. Newsgroups: comp.lang.smalltalk
  626. Subject: Smalltalk Relevant Texts
  627. Date: 10 Jan 92 16:08:05 GMT
  628. Organization: Grebyn Timesharing
  629.  
  630.  
  631. A list of Smalltalk-relevant texts.  Retrieved from the Digitalk
  632. forum on Compuserve.  If you know of any additional texts, please
  633. let me know.  Thanx.
  634.  
  635.  
  636. ==========================================================================
  637. Ron Schultz                                  
  638. Berard Software Engineering, Inc.            
  639. Columbus Ohio Office                           Headquarters
  640. 5634 Claire Court                              301 Lakeforest Drive
  641. Dublin, Ohio 43017                             Gaithersburg, Md. 20877
  642. Phone  (614) 798-0295                          (301) 417-9885  
  643. FAX    (614) 798-0296                          (301) 417-0021
  644. =========================================================================
  645.  
  646. Smalltalk 80 The Language, Adele Goldberg & David Robson
  647.         Addison-Wesley 1989             ISBN 0-201-13688-0
  648.  
  649. Smalltalk 80 The Interactive Programming Environment, Adele Goldberg
  650.         Addison Wesley 1984             ISBN 0-201-11372-4
  651.  
  652. Smalltalk 80 Bits of History, Words of Advice , Glenn Krasner
  653.         Addison Wesley 1984             ISBN 0-201-11669-3
  654.  
  655. Inside Smalltalk Volume I, Wilf Lalonde & John Pugh
  656.         Prentice Hall 1991              ISBN 0-13-468414-1
  657.  
  658. Inside Smalltalk Volume II, Wilf Lalonde & John Pugh
  659.         Prentice Hall 1991              ISBN 0-13-465964-3
  660.  
  661. Object-Oriented Graphics, P. Wisskirchen
  662.     Springer-Verlag 1990        ISBN 3-540-52859-8
  663.  
  664. Practical Smalltalk: Using Smalltalk/V, Dan Shafer and Dean A. Ritz.
  665.         Springer-Verlag                 ISBN 0-387-97394-X
  666.  
  667. Rapid Prototyping for Object Oriented Systems, Mark Mullen
  668.         Addison Wesley 1990             ISBN 0-201-55024-5
  669.  
  670. Object-Oriented Design, Peter Coad and Ed Yourdon
  671.     Yourdon Press 1991        ISBN 0-13-630070-7
  672.  
  673. Object Oriented Programming for Artificial Intelligence, Ernest Tello
  674.         Addison Wesley 1989             ISBN 0-201-09228-x
  675.  
  676. The Well Tempered Object, Stephen Travis Pope
  677.         MIT Press 1991                  ISBN 0-262-16126-5
  678.  
  679. RefTalk/Vwin, David Carl O'Neal
  680.         NuVista Press 1991              ISBN pending
  681.  
  682. Human-Computer Interface Design Guidelines, C. Marlin Brown
  683.         Ablex Publishing 1989           ISBN 0-89391-332-4
  684.  
  685. Designing Object-Oriented Software,
  686.                 Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener
  687.         Prentice-Hall 1990              ISBN 0-13-629825-7
  688.  
  689. Object Oriented Programming with Smalltalk/V, Dusko Savic
  690.         Ellis Horwood 1990              ISBN 0-13-040692-9
  691.  
  692. An Introduction to Object Oriented Programming & Smalltalk
  693.         Lewis Pinson & Richard Wiener
  694.         Addison Wesley 1988             ISBN 0-201-19127-x
  695.  
  696. SAA Common User Access Advanced Interface Design Guide
  697.         IBM 1989                        IBM Document # SC26-4582-0
  698.  
  699. IBM Red Books----(available from your IBM representative
  700.                   contact your local office of IBM and request
  701.                   the placing of an IBM Red Book Order.  If you
  702.                   are an IBM customer, the books are free.  If you
  703.                   are not an IBM customer, the books may have a nominal
  704.                   fee.)----
  705.  
  706. A Practical Introduction to Object Oriented Programming
  707.         IBM 1990                        IBM Document # GG24-3641
  708.  
  709. Object Oriented Design - A preliminary Approach
  710.         IBM 1990                        IBM Document # GG24-3647
  711.  
  712. Developing a CUA Workplace Application
  713.         IBM 1990                        IBM Document # GG24-3580-00
  714.  
  715. Managing the Development of Object Oriented Applications
  716.         IBM 1990                        IBM Document # GG24-3581-00
  717.  
  718. Object Oriented Analysis of the ITSO Common Scenario
  719.         IBM 1990                        IBM Document # GG24-3566
  720.  
  721. CUA Evaluation
  722.         IBM 1990                        IBM Document # GG24-3456
  723.  
  724. SAA CUA '91 Guide
  725.         IBM 1991                        IBM Document # SC34-4289
  726.  
  727. SAA CUA '91 Reference
  728.         IBM 1991                        IBM Document # SC34-4290
  729.  
  730. SAA - A Guide for Evaluating Applications
  731.         IBM 1991                        IBM Document # G320-9803
  732.  
  733.  
  734. ---
  735.  
  736. 3.3)         What are the "blue book", "purple book", etc?
  737.  
  738. Answer:
  739.  
  740. Date: Wed, 11 Nov 92 12:52:39 PST
  741. From: khaw@parcplace.com (Mike Khaw)
  742.  
  743.  
  744. blue
  745.         Goldberg, Adele, and David Robson, _Smalltalk-80: The Language 
  746.         and Its Implementation_, Addison-Wesley, 1983. ISBN
  747.     0-201-11371-6. *Out of print* 
  748.          
  749. orange   
  750.         Goldberg, Adele, _Smalltalk-80: the Interactive Programming 
  751.         Environment_, Addison-Wesley, 1984. ISBN 0-201-11372-4. 
  752.          
  753. green    
  754.         Krasner, Glenn, ed., _Smalltalk-80: Bits of History, Words of 
  755.         Advice_, Addison-Wesley, 1983, ISBN 0-201-11669-3 
  756.          
  757. purple   
  758.         Goldberg, Adele, and David Robson, _Smalltalk-80: The Language_,
  759.         Addison-Wesley, 1989, ISBN 0-201-13688-0 
  760.          
  761. The books are actually cream or tan. The color referred to is the color 
  762. used as the background of the illustration on the front cover (as well 
  763. as for the Addison-Wesley logo on the spine). 
  764.  
  765. The purple book is an update/revision of the blue book, with the 
  766. section on the abstract bytecode machine omitted (because it was out 
  767. of date, according to Adele). 
  768. ----------
  769.  
  770. Mike
  771.  
  772.  
  773. ---
  774.  
  775. 3.4)         Who are some employers of Smalltalk programmers?
  776.  
  777. Answer:
  778.  
  779. From: johnson@m.cs.uiuc.edu (Ralph Johnson)
  780. Newsgroups: comp.lang.smalltalk
  781. Subject: Smalltalk employers file
  782. Date: 18 Sep 92 16:32:43 GMT
  783. Organization: University of Illinois, Dept. of Comp. Sci., Urbana, IL
  784.  
  785.     I've noticed a rash of job offers here (I approve of them) and
  786. decided that I should distribute my list of companies hiring
  787. Smalltalkers.  I have collected this over the years and give it to my
  788. students.  However, the size of the list is significantly greater than
  789. the number of my students, so I decided to make it public. I would be
  790. happy to add entries, remove entries, or make other changes to it.  If
  791. you are an employer then you might want to take a look at it to see
  792. whether you like what I say about you, and let me know if you don't.
  793. I'll change it, though I like *short* entries and have shortened
  794. almost everything in here.
  795.  
  796.     The file is in the Smalltalk archive in
  797. /st-docs/smalltalk-jobs.  You can ftp it from st.cs.uiuc.edu or you
  798. can use the e-mail archive server (see the recent FAQ).  Europeans
  799. note that this will automatically show up in the Manchester archive in
  800. a day or so.
  801.  
  802. -Ralph Johnson 
  803.  
  804. ---
  805.  
  806. 3.5)        What is the Smalltalk Report?
  807.  
  808. From: mst@vexpert.dbai.tuwien.ac.at (Markus Stumptner)
  809. Newsgroups: comp.lang.smalltalk
  810. Subject: Opinions on Smalltalk Report (Summary)
  811. Date: 12 Feb 93 11:34:32 GMT
  812. Organization: DB and ES Subdivision, TU Vienna
  813.  
  814. Ok, here are the comments I received about the Smalltalk Report.
  815. While the sample base is quite small, the response seems
  816. overwhelmingly favorable.  Thanks to all who responded.
  817.  
  818.     Markus
  819.  
  820. ---------------------------------------------------------------------
  821. I have subscribed since the first issue and I find it to be an excellent
  822. combination of theoretical and practical articles. John Pugh (of LaLonde
  823. and Pugh) is the editor.
  824.  
  825. On the other hand, I will warn you to expect subscription headaches with
  826. SIGS Publications. They are probably the worst I've ever dealt with and
  827. our technical librarian agrees. They are barely capable of processing a 
  828. renewal let alone a new subscription or problem.
  829. ---------------------------------------------------------------------
  830. We subscribe, last issue was about 20 pages, 2 articles, 3 columns.
  831. I would call it a must read publication.
  832. ---------------------------------------------------------------------
  833. I think its pretty good. (But then I should mention, I write for it!) It tends
  834. toward intermediate, with lots of practical tips and examples.
  835. ---------------------------------------------------------------------
  836. (This was not an answer to my question, but I include it for completeness.)
  837. It is a journal published 9 times per year. Cost in US is $69. Editor
  838. with whom I deal is Paul White (white@scs.carleton.ca). The Smalltalk
  839. Report, Subscribers Services, Dept. SML, PO Box 3000, Denville, NJ
  840. 07834-9821.
  841. ---------------------------------------------------------------------
  842.  
  843.  
  844. -- 
  845. Markus Stumptner                                mst@vexpert.dbai.tuwien.ac.at
  846. University of Technology Vienna                 vexpert!mst@relay.eu.net
  847. Paniglg. 16, A-1040 Vienna, Austria             ...mcsun!vexpert!mst
  848.  
  849.  
  850. Newsgroups: comp.lang.smalltalk
  851. From: knight@mrco.carleton.ca (Alan Knight)
  852. Subject: Re: Smalltalk Report
  853. Organization: Carleton University
  854. Date: Mon, 15 Feb 1993 22:30:55 GMT
  855.  
  856. The Smalltalk report
  857. Subscriber Services Dept SML
  858. PO Box 3000
  859. Denville NJ USA
  860. 07834-9821
  861.  
  862. FAX 212 274 0646
  863.  
  864. ISSN 1056-7976
  865.  
  866. US$69/year in e US
  867. US$94/year outside the US
  868.  
  869. ---
  870.  
  871. 3.6)          Is there a GNU Smalltalk tutorial?
  872.  
  873. Answer:
  874.     
  875.     Yes. 
  876.  
  877. From: sbb@laplace.Eng.Sun.COM (Steve Byrne)
  878. Date: 28 Feb 1993 03:00:10 GMT
  879. Organization: Sun Microsystems Inc., Mountain View, CA
  880.  
  881.  
  882.     Andy Valencia has very graciously provided an extended
  883. tutorial document describing the Smalltalk language with respect to
  884. GNU Smalltalk.  It covers a wide variety of topics, and provides a
  885. general introduction to object oriented programming concepts.
  886.  
  887.     You may FTP a copy from the usual GNU locations in a few days
  888. (after it has propagated).  Currently, it may be found at:
  889.  
  890.     prep.ai.mit.edu: pub/gnu/smalltalk-tutorial.ps.gz  (PostScript)
  891.  
  892. -or-
  893.  
  894.     prep.ai.mit.edu: pub/gnu/smalltalk-tutorial.txt.gz  (ASCII)
  895.  
  896. Check it out -- this looks really good!
  897.  
  898. Steve
  899.  
  900. -- 
  901.  
  902. 3.7)         What's a summary of multiple inheritance in Smalltalk?
  903.  
  904. Answer:
  905.  
  906. From: mario@cs.man.ac.uk (Mario Wolczko)
  907. Newsgroups: comp.lang.smalltalk
  908. Subject: Re: Multiple Inheritance in Smalltalk??
  909. Date: 20 Apr 93 12:40:27 GMT
  910. Organization: Dept Computer Science, University of Manchester, U.K.
  911.  
  912. In article <1qua3qINN9t1@umbc8.umbc.edu>, cs331106@umbc.edu (cs331106) writes:
  913. >   I have been researching the smalltalk language, and have found
  914. > conflicting reports as to whether or not smalltalk is a single
  915. > or multiple inheritance style language.  Any answer would be
  916. > appreciated!
  917.  
  918. Yes and no, mostly no.  The initial versions of Smalltalk did not have
  919. multiple inheritance.  An MI scheme, written entirely in Smalltalk (ie
  920. not requiring any virtual machine support), was subsequently added.
  921. It is described in
  922. @inproceedings{BorningIngalls82:multipleinheritance,
  923.     author =    "A. H. Borning and D. H. H. Ingalls",
  924.     address =    "Pittsburgh, PA",
  925.     year =        1982,
  926.     booktitle =    "Proceedings of National Conference on
  927.     Artificial Intelligence",
  928.     pages =        "234-237",
  929.     title =        "Multiple inheritance in {S}malltalk-80"
  930. }
  931.  
  932. This was shipped as part of the Smalltalk-80 virtual image, at least
  933. from version 2.0 (the first "public" release, I believe), through 2.3.
  934. It was removed in 2.4 (or possibly 2.5).  There were several
  935. technical problems with the implementation, and it didn't look like
  936. anyone was really using it anyway.  It was never thoroughly integrated
  937. into the system (eg browsers and other tools).
  938.  
  939. Mario Wolczko
  940.    ______      Dept. of Computer Science   Internet:      mario@cs.man.ac.uk
  941.  /~      ~\    The University              uucp:    mcsun!uknet!man.cs!mario
  942. (    __    )   Manchester M13 9PL          JANET:         mario@uk.ac.man.cs
  943.  `-':  :`-'    U.K.                        Tel: +44-61-275 6146  (FAX: 6236)
  944. ____;  ;_____________the mushroom project___________________________________
  945.  
  946.  
  947. ---
  948.  
  949. 3.8)         What's the status of the ANSI Smalltalk
  950.             standardization effort?
  951.  
  952. Answer:
  953.  
  954.     [Here are the minutes from the the first ANSI Smalltalk
  955. meeting. Unless available elsewise, I'll archive future ANSI Smalltalk
  956. materials I come across on XCF.Berkeley.EDU, separately.  --crl]
  957.  
  958. From: DENATALE@CARVM3.VNET.IBM.COM (Rick DeNatale)
  959. Date: Tue, 6 Jul 93 15:17:30 EDT
  960. Newsgroups: comp.lang.smalltalk
  961. Subject: Minutes of X3J20, Smalltalk
  962.  
  963.  
  964. X3J20, Programming Language: Smalltalk held its organizational
  965. meeting at CBEMA headquarters, Washington D.C. on June 21, 1993.
  966.  
  967. 1.0 The meeting was convened at 10:00 a.m. Yen-Ping Shan of IBM
  968. acted as meeting chairman.
  969.  
  970. 2.0 Attending were (listed in alphabetical order by Company):
  971.  
  972.    Aladdin Enterprises
  973.      L. Peter Deutsch    email: lpd@aladdin.com
  974.    Andersen Consulting
  975.      Roy Underwood              runder@apg.andersen.com
  976.      Chris Frye (Alternate)
  977.    Beckman Software Engineering
  978.      Mel Beckman                mbeckman@mbeckman.com
  979.    Digitalk
  980.      Allen Wirfs-Brock          allen@digitalk.com
  981.      George Bosworth (Alternate) george@digitalk.com
  982.    Easel Corporation
  983.      Chris Norman          cnorman@easelcor.mhs.compuserve.com
  984.    International Business Machines Corporation
  985.      Yen-Ping Shan          shan@carvm3.vnet.ibm.com
  986.      Rick DeNatale (Alternate)  denatale@carvm3.vnet.ibm.com
  987.    Knowledge Systems Corporation
  988.      Jay Casler
  989.    Object Technology International
  990.      Brian Barry              brian@oti.on.ca
  991.    ParcPlace Systems
  992.      Glenn Krasner            krasner@parcplace.com
  993.      Richard Dym (Alternate)
  994.    Pillar Systems
  995.      Seyho Chang             seyho@netcom.com
  996.      Patti Dock (Alternate)  76460.3463@compuserve.com
  997.    Quasar Knowledge Systems
  998.      David Simmons           David_Simmons@qks.com
  999.    Servio Corp.
  1000.      Bruce Schuchardt        bruce@slc.com
  1001.    U.S. Geological Survey
  1002.      Jim Fulton           jfulton@qvarsa.er.usgs.gov
  1003.  
  1004. Bob Follett Chairman of JTC1/SC22 attended the meeting as an
  1005. observer and guide to X3.
  1006.  
  1007. 3.0 Agenda
  1008. Peter Deutsch wished to add a discussion of a proposed language standard
  1009. which was developed in 1987 in addition to the scheduled discussion of
  1010. the Common Base document (X3J20/93-003).  Peter submitted a copy of this
  1011. document which was copied and distributed as document X3J20/93-004.
  1012. Peter then said that there were many issues to deal with in setting
  1013. the goals and scope of a Smalltalk standard including: level of
  1014. formality; relationship to existing/proposed implementations;
  1015. coverage; standardization time-frame; consolidation vs. innovation.
  1016.  
  1017. It was generally agreed to add a discussion of goals before discussion
  1018. of proposals for a base document.
  1019.  
  1020. The resulting agenda is given at the end of these minutes.
  1021.  
  1022. Jay Casler moved to approve the agenda as modified, Dave Simmons
  1023. seconded and it was unanimously agreed.
  1024.  
  1025. 4.0 Kate McMillan then gave an X3 overview.
  1026.  
  1027. 5.0 Review of Project Proposal
  1028.  
  1029. The general discussion turned around what level was appropriate for
  1030. a Smalltalk Standard.  There was a discussion of the various
  1031. potential business and technical goals, which vary for users and
  1032. implementors of the language. Various positions of conservatism
  1033. vs. radicalism are possible with regards to many issues such as
  1034. multiple inheritance, scoping of block arguments or concurrency.
  1035.  
  1036. There is a trade-off between the speed of standardization and
  1037. the scope of the standard.
  1038.  
  1039. It was decided that members would prepare position papers on
  1040. the scope and goals for X3J20 which would cover issues including:
  1041.  
  1042.     Technical and Business goals
  1043.     Project Scope
  1044.     Proposals for detailed work plan
  1045.     Dimensions to be considered, e.g.:
  1046.        Methods/rigor of specification
  1047.        Implementations vs. Language Features
  1048.        Can the Standard be factored into parts,and what are
  1049.          the dependencies.
  1050.  
  1051. This was accepted without objection.
  1052.  
  1053. Mel Beckman volunteered to act as a consolidator and to prepare
  1054. a report on the positions to serve as a focus for discussion at the
  1055. next meeting.
  1056.  
  1057. Bruce Schuchardt, volunteered to set up a mail reflector so that
  1058. everyone will see position papers as they are developed and can
  1059. comment on the positions.  Members are encouraged to develop their
  1060. positions interactively (sort of a delphi process).
  1061.  
  1062. Mel will base his consolidation on positions submitted by
  1063. August 15, 1993.  The consolidation report will be distributed by
  1064. October 5th 1993.
  1065.  
  1066. 6.0 Organizational Matters
  1067.  
  1068. It was agreed that, pending the result of the call for volunteers,
  1069. Yen-Ping Shan would continue as acting chairman. Glenn Krasner
  1070. volunteered as acting vice-chairman, and Rick DeNatale volunteered
  1071. as acting Secretary.
  1072.  
  1073. 7.0 Technical Discussion and Development of Work Plan
  1074.  
  1075. It was unanimously agreed to defer agenda item 7 until the review
  1076. of positions on the goal and scope of X3J20 has been completed.
  1077.  
  1078. 8.0 Meeting Schedule
  1079.  
  1080. The following schedule for future meetings was agreed:
  1081.  
  1082.    October 19-21 Sunnyvale, California, host ParcPlace.
  1083.    February 1994 RTP NC, hosts: IBM and Knowledge Systems
  1084.    June 1994, Portland Or. host Digitalk
  1085.    October 1994, Chicago Ill. host Arthur Anderson
  1086.  
  1087.  
  1088. ParcPlace agreed to make machines available at the next meeting so
  1089. that different Smalltalk implementations can be viewed. Glenn Krasner
  1090. will be the contact for machine requirements.
  1091.  
  1092. 9.0 Review of Action Items
  1093.  
  1094. 10.0 Adjournment
  1095.  
  1096. Peter Deutsch moved to adjourn the meeting. It was passed without
  1097. objection and the meeting adjourned at approximately 4:00 p.m.
  1098.  
  1099. Approved Agenda
  1100.   1. Opening
  1101.   2. Introductions
  1102.   3. Approval of the agenda (X3J20/93-001)
  1103.   4. X3 Overview
  1104.   5. Review of Project Proposal (X3J20/93-0015R)
  1105.        Discussion of Goals and Scope
  1106.   6. Organizational Matters
  1107.   7. Technical Discussion and development of work plan
  1108.      7.1 Proposed 1987 Smalltalk Language Specification (X3J20/93-004)
  1109.      7.2 Common Base Specification (X3J20/93-003)
  1110.      7.3 Time table for milestones
  1111.   8. Future Meetings (schedule and hosts)
  1112.   9. Review of action items
  1113.  10. Adjournment
  1114.  
  1115.  
  1116. Rick DeNatale
  1117.  
  1118. ---
  1119.  
  1120. 3.9)        Have there been any studies done on performance
  1121.             differences between complete C++/Smalltalk
  1122.             (specifically ObjectWorks\Smalltalk)
  1123.             applications in terms of runtime and space
  1124.             consumption? 
  1125.  
  1126. Answer:
  1127.  
  1128.     See ftp://XCF.Berkeley.EDU/misc/smalltalk/performance.
  1129.  
  1130. ---
  1131.  
  1132. 3.10)        Where can I learn about the history of Smalltalk?
  1133.  
  1134. From: jecel@lsi.usp.br (Jecel Mattos de Assumpcao Jr. (kofuji))
  1135. Newsgroups: comp.lang.smalltalk
  1136. Subject: Re: History of Smalltalk
  1137. Date: 16 Dec 1993 23:31:22 GMT
  1138. Organization: Laboratorio de Sistemas Integraveis - USP - Brazil
  1139. Reply-To: jecel@lsi.usp.br
  1140.  
  1141. [The History of Programming Languages Conferences are] the best place to find out about Smalltalk history. Here is a more specific reference:
  1142. --------------------------------------------------------
  1143. "The Early History of Smalltalk"
  1144. Alan C. Kay
  1145. The Second ACM SIGPLAN History of Programming
  1146.                Languages Conference (HOPL-II)
  1147. ACM SIGPLAN Notices Vol 28 Number 3 March 1993 pp. 69-75
  1148. ---------------------------------------------------------
  1149.  
  1150. [That issue contains preprints from the conference. It is indeed very good. In it, the editors mention that a book from the conference is forthcoming. It may be out; I haven¹t heard.  --crl]
  1151.  
  1152. > > 8) I've never seen the famous article within the Byte (August-1980) --
  1153. > >    it was impossible to get information about this article or even the
  1154. > >    article itself. What was the content of this article? It's christmas
  1155. > >    soon: I *really* would like to get a copy of this article :-)
  1156. > The entire ISSUE was on Smalltalk.  Do you mean to say that none
  1157. > of your CS libraries have August 80 Byte?  Hmm, I'll have to guard
  1158. > mine very carefully.   And I'll see what I can do to brighten your
  1159. > Christmas!
  1160.  
  1161. Actually, the August 80 Byte was about Forth. But the August 1981 Byte
  1162. has been out of print for many years, and is about the only back issue
  1163. you can't get. They should reprint those articles as a book. I've just
  1164. lent mine, so this is from memory:
  1165.  
  1166.  - there are some introductory articles and some on the philosophy of
  1167.    the system and object oriented programming.
  1168.  - there are articles about the graphical programming environment
  1169.    ( first look at cut/copy/paste for most people ), the graphic
  1170.    prmitives ( first look at bitblt ) and drawing programs.
  1171.  - the implementation is explained, as is an older version of
  1172.    virtual memory.
  1173.  - there is an excelent article on creating data structures in
  1174.    Smalltalk, as well as one on creating control structures.
  1175.  
  1176. Jecel
  1177.  
  1178. ---
  1179.  
  1180. 3.11)        How can I get the Smalltalk Resource Guide?
  1181.  
  1182. Date: Mon, 10 Jan 1994 14:48:58 -0600
  1183. From: johnson@cs.uiuc.edu
  1184. Subject: smalltalk resource guide
  1185.  
  1186. >Has anyone seen a publication 
  1187. >_Smalltalk Resource Guide_ ?
  1188.  
  1189. It is published and distributed by 
  1190.         Creative Digital Solutions
  1191.         293 Corbett Avenue
  1192.         San Francisco, CS 94114
  1193.         415.621.4252 (fax and telephone)
  1194.         72722.3255@compuserve.com
  1195.         cds.sem@applelink.apple.com
  1196.  
  1197. The price is $45, and if you use Smalltalk professionally
  1198. (i.e. if it is worth money to you to know about Smalltalk)
  1199. then you should get it.  I was surprised to see so many
  1200. packages I didn't know about in it.
  1201.  
  1202. As they say about themselves:
  1203.         The Smalltalk Resource Guide is the only Smalltalk-specific
  1204.         directory o Smalltalk products and services.  it includes
  1205.         products, third-party tools, user groups, electronic
  1206.         resources, distributors, publications, trade shows,
  1207.         professional organizations, and more.  It is updated
  1208.         as necessary.
  1209.  
  1210. -Ralph Johnson
  1211.  
  1212. ---
  1213.  
  1214. 4.0)     [Programming issues]
  1215.  
  1216. ---
  1217.  
  1218. 4.1)         What are some "classic Smalltalk bugs", both in the
  1219.             system and programmer domains?
  1220.  
  1221. Answer:
  1222.  
  1223.     See anonymous@st.cs.uiuc.edu:pub/st-docs/classic-bugs, and the
  1224. equivalent place on the Manchester archive (see question 1.2 above for
  1225. details).
  1226.  
  1227. ---
  1228.  
  1229. 4.2)        How do I use Pool dictionaries?
  1230.  
  1231.     [Following is a ³tutorial² of sorts about Pool dictionaries. --crl]
  1232.  
  1233. Newsgroups: comp.lang.smalltalk
  1234. From: steinman@hslrswi.hasler.ascom.ch (Jan Steinman, Bytesmiths)
  1235. Organization: Bytesmiths, a technical services company
  1236. Date: Thu, 22 Jul 1993 10:51:14 GMT
  1237.  
  1238.     [Someone] writes:
  1239.  
  1240. >Firstly I just can't seem to figure out how to define "Pool Dictionaries".
  1241.  
  1242. They must exist as a global Dictionary first.
  1243.         (Smalltalk includesKey: #MyNewPool) ifFalse:
  1244.                 [Smalltalk at: #MyNewPool put: Dictionary new]
  1245.  
  1246. Since the individual pool variables are actually stored as Associations
  1247. in the using method's literal array (this is important to remember!),
  1248. using a Dictionary instead of an IdentityDictionary is needed here.
  1249. Note the existance test -- if you simply create a new pool Dictionary
  1250. when one already exists, all the methods that refer to pool variables
  1251. will continue to refer to the old ones. This causes no end of
  1252. confusion!
  1253.  
  1254. Then plop 'MyNewPool' into your class definition.
  1255.  
  1256. >Also my understanding of Pool Variables is that they have to be "constant"
  1257. >objects, i.e. objects which do not change values, and you just want to share
  1258. >them among objects without having to explicitly pass them.
  1259.  
  1260. Not exactly. As I mentioned, the pool Dictionary Association is what is
  1261. held. This means that you can change the value of a Pool Variable at
  1262. will, with any object, as long as you don't replace the Association in
  1263. the global Dictionary.
  1264.  
  1265. One source of problems is to declare a pool
  1266. global as an IdentityDictionary, which doesn't actually store
  1267. Associations; it makes them up on the fly whenever asked for one. In
  1268. this case, each user of a pool variable will have a different copy, and
  1269. changing one will not change the others.
  1270.  
  1271. Another common problem is forward declarations and file-in. Your global
  1272. Dictionary and all the keys you will use *must* be declared prior to
  1273. file-in, or else the filed-in code will refer to Associons in
  1274. Undeclared, rather than in your global Dictionary. It's possible to
  1275. swizzle the Association from Undeclared to the proper pool, but it's
  1276. better to just make sure it exists first.
  1277.  
  1278. >I have an object called "Blackbaord", and I want other objects in my system to have
  1279. >access to its current state. These objects not only acess the Blackboard but
  1280. >also send messages to update the blackboard.
  1281.  
  1282. This sounds like a simple global to me. Two reasons why you might
  1283. prefer pools:
  1284.  
  1285. 1) you want to limit their scope to a defined set of unrelated classes
  1286. (and their subclasses), or
  1287.  
  1288. 2) you have more than one object to share, and you don't want to
  1289. clutter the global name space.
  1290.  
  1291. Pool variables provide an efficient solution to a whole class of
  1292. problems, but they are little understood, and poorly supported. The
  1293. compiler could do a lot of the monkey-business that programmers
  1294. presently have to manage when they use pool variables.
  1295.  
  1296.  Jan Steinman, Bytesmiths
  1297.  2002 Parkside Court, West Linn, OR 97068-2767 USA, +1 503 657 7703
  1298.  Friedlistrasse 19, CH-3006, Bern, Switzerland, +41 31 999 3946
  1299.  
  1300. ---
  1301.  
  1302. 4.3)        When browsing sources, I see ³t1², ³t2², etc., instead of semantically 
  1303.             relevant variable names. What¹s going on?
  1304.  
  1305. From: Arno Breunese <bne%RT.EL.UTWENTE.NL@ibm.gwdg.de>
  1306.  
  1307. On Oct 4th, [someone] said:
  1308.  
  1309. > Before using VW-1.0a/OW-4.1 on Solaris, I tried an old version of OW (2.5) on
  1310. > Mac. One thing I did REALLY appreciate was the self documenting environment.
  1311. > Indeed almost each class and method from the standard ST environment was
  1312. > commented and all formal arguments had clear names. Also, the explain
  1313. > command was very helpful. On Sun, I had the nasty surprise to see that formal
  1314. > parameters are now all named t1, t2, t3, ... and that there are no more comments. 
  1315. > This is very bad news!! So my question is: did I miss some crucial point when
  1316. > installing VW/OW or is it just a new product policy from ParcPlace? I would be
  1317. > very interested to hear from other people having the same problem and from
  1318. > someone working at PP.
  1319.  
  1320. I'm sorry to say, but it's your own fault. And you are not alone in making this
  1321. mistake (see previous postings to this newsgroup). What happens is this:
  1322.  
  1323.  In ParcPlace Smalltalk (OW/VW), the source of all code in the image is
  1324. kept in two files: the sources file (containing the code of the basic
  1325. classes provided with the installation) and the changes file (with all
  1326. the changes and additions you made to the originally installed
  1327. sources).
  1328. When you are browsing code, the System Browser (or anything else you
  1329. use to browse) looks in the global variable SourceFiles to find the
  1330. sources and changes files. If these are present, you will see the code
  1331. as it was originally entered, with nice argument names, with comments
  1332. etc.
  1333. If the entries in SourceFiles refer to non-existent files, or if they
  1334. are nil, then the code is reconstructed from the bytecode. Obviously,
  1335. no names and no comments can be reconstructed. That's were the t1, t2,
  1336. ... come from.
  1337.  
  1338. What you should do is open a System Workspace (which contains hints to
  1339. change the SourceFiles global) or open an Inspector on SourceFiles
  1340. rightaway. Then make sure that these variables point to existing files.
  1341. You have to take care that the set of sources file, changes file and
  1342. image file are belonging together. Using a changes file from a
  1343. different project leads to _really_strange_ effects!
  1344.   
  1345. Arno Breunese,
  1346. Control Laboratory,
  1347. Department of Electrical Engineering,
  1348. University of Twente,
  1349. PO Box 217,
  1350. 7500 AE  Enschede,
  1351. The Netherlands
  1352.  
  1353. e-mail  bne@rt.el.utwente.nl
  1354.  
  1355. ---
  1356.  
  1357. 4.4)        What happened to >>deepCopy in ParcPlace Smalltalk?
  1358.  
  1359. Newsgroups: comp.lang.smalltalk
  1360. From: eanv20@castle.ed.ac.uk (John Woods)
  1361. Subject: Re: deepCopy in St80 4.1
  1362. Organization: Edinburgh University
  1363. Date: Fri, 3 Dec 1993 10:55:31 GMT
  1364.  
  1365. piplani@rainbow.ecn.purdue.edu (Rajesh Piplani) writes:
  1366.  
  1367. >To all the smalltalk-80 gurus out there:
  1368. >I need to make deep copy of an object. The book on smalltalk-80
  1369. >(The language) talks about the existence of this method
  1370. >(deepCopy), but my installation on unix (release 4.1) does not
  1371. >have it. Could somebody help me out? I basically need to copy an
  1372. >object with its own instance variables.
  1373. >Raj
  1374.  
  1375. deepCopy was removed from 4.1 because of problems (cyclic dependencies and 
  1376. other things broke it). You can file it in from the backward compatability files 
  1377. in the distribution.  Or you can implement your own method --- a couple of
  1378. good-looking ones have been posted here recently.  Check the archives.
  1379.  
  1380.                                 ... John Woods
  1381.  
  1382. **
  1383.  
  1384. Newsgroups: comp.lang.smalltalk
  1385. From: dcr0@speedy.gte.com (Dave Robbins)
  1386. Subject: Re: deepCopy in St80 4.1
  1387. Reply-To: drobbins@gte.com
  1388. Organization: GTE Laboratories Incorporated
  1389. Date: Fri, 3 Dec 1993 21:01:52 GMT
  1390.  
  1391.  
  1392. I would suggest implementing a postCopy method in the class whose instance
  1393. variables need to be copied.  Object>shallowCopy invokes postCopy after
  1394. completing the basic copying; code in postCopy can then make copies of the
  1395. instance variables:
  1396.  
  1397.    postCopy
  1398.       super postCopy.
  1399.       instanceVariable1 := instanceVariable1 copy.
  1400.       instanceVariable2 := instanceVariable2 copy
  1401.  
  1402. and so on.  Browse all implementers of postCopy to see examples of how this
  1403. is done in quite a few classes in the 4.1 image.
  1404.  
  1405. The 4.1 Release Notes explain (pages 13 and 34) that deepCopy was removed,
  1406. and why.  In particular, note on page 34 the statement that deepCopy won't
  1407. even be available as backward-compatibility code in the successor to 4.1.
  1408.  
  1409. Dave Robbins                    GTE Laboratories Incorporated
  1410. drobbins@gte.com                40 Sylvan Rd.
  1411. ...!harvard!bunny!drobbins      Waltham, MA 02254
  1412.  
  1413. ---
  1414.  
  1415. 5.0)     ["Vendor"-specific issues]
  1416.  
  1417. ---
  1418.  
  1419. 5.1)         How compatible is GNU Smalltalk with Smalltalk-80 (or
  1420.             SmalltalkV)?
  1421.  
  1422. From: sbb@laplace.eng.sun.com (Steve Byrne)
  1423. Newsgroups: comp.lang.smalltalk
  1424. Subject: Re: GNU Smalltalk Compatibility
  1425. Date: 12 Dec 92 00:52:04
  1426. Organization: FSF hackers, Smalltalk division
  1427.  
  1428. In article <1992Dec2.182201.11980@ntmtv> irvine@ntmtv.UUCP (Chuck
  1429. Irvine) writes:
  1430.  
  1431.    How compatible is GNU Smalltalk with Smalltalk-80 (or SmalltalkV)?
  1432.    Just curious. Thanks
  1433.  
  1434.     This is probably in the FAQ list [it is now...  --crl], but
  1435. here goes anyway.  GNU Smalltalk tries to be syntax compatible with
  1436. the language described in the blue/purple book (ST-80: the Language*).
  1437. I think the only discrepancy is that GNU Smalltalk doesn't allow block
  1438. local temporary variables.
  1439.  
  1440. Steve
  1441.  
  1442.     [Note, however, that the class library for GNU Smalltalk is
  1443. very much in its infancy. Most importantly, it has little in the way
  1444. of graphical user-interface classes.  --crl]
  1445.  
  1446. ---
  1447.  
  1448. 5.2)        How do I contact producers of various Smalltalk
  1449.             implementations? 
  1450.  
  1451. Answer:
  1452.  
  1453. Newsgroups: comp.lang.smalltalk
  1454. From: mjb@netcom.com (Martin Brown)
  1455. Subject: FYI: new Digitalk addresses
  1456. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  1457. Date: Tue, 21 Sep 1993 09:10:44 GMT
  1458.  
  1459.     Digitalk:     
  1460.  
  1461. Effective Monday, September 20, all Digitalk departments EXCEPT development,
  1462. support and documentation have moved to brand-new, shining corporate offices
  1463. in Orange County, CA.  The new address and phone:
  1464.  
  1465.   Digitalk, Inc.
  1466.   5 Hutton Center
  1467.   Santa Ana, CA   92707-5754
  1468.   714-513-3000 (phone)
  1469.   714-513-3100 (fax)
  1470.  
  1471. Digitalk also has offices in Portland, Chicago and New York.  The numbers are:
  1472.  
  1473.   Digitalk Portland (training, consulting)
  1474.   503-691-0800 (phone)
  1475.   503-691-2742 (fax)
  1476.  
  1477.   Digitalk Chicago (sales)
  1478.   312-444-2065 (phone)
  1479.   312-641-3096 (fax)
  1480.  
  1481.   Digitalk New York (sales)
  1482.   212-808-3068 (phone)
  1483.   212-808-3020 (fax)
  1484.  
  1485. [message ends]
  1486.  
  1487.     ParcPlace:    
  1488.  
  1489.     ParcPlace information may be reached at info@parcplace.com. 
  1490.  
  1491.     [feel free to contribute additional info  --crl]
  1492.  
  1493. ---
  1494.  
  1495. 5.3)        How can I get information about HP distributed Smalltalk?
  1496.  
  1497. Newsgroups: comp.lang.smalltalk
  1498. From: blank@faw.uni-ulm.de (Karlheinz Blank)
  1499. Organization: FAW (Research Institute For Applied Knowledge Processing, Ulm, Germany)
  1500. Date: Wed, 25 Aug 1993 07:10:34 GMT
  1501.  
  1502. You can get information about HP-Distributed Smalltalk From:
  1503.  
  1504. Public Relations Department
  1505. 3000 Hanover Street
  1506. Palo Alto, California 94304
  1507. (408) 447-5330
  1508.  
  1509. Karlheinz Blank, Research Institute for Applied Knowledge Processing
  1510. Internet: BLANK@faw.uni-ulm.de
  1511.  
  1512. ---
  1513.  
  1514. 6.0)     [Smalltalk implementation issues]
  1515.  
  1516. ---
  1517.  
  1518. 6.1)         Is Smalltalk interpreted or compiled?
  1519.  
  1520.     [Be prepared for more material on this issue. I've got tons of
  1521. it, staring at me at this very moment. I'm starting off with this one
  1522. mainly because it's short... again, please feel free to submit. In
  1523. particular, the whole issue of just what constitutes "interpreting" is
  1524. still debated.  --crl]
  1525.  
  1526. From: khaw@parcplace.com
  1527. Newsgroups: comp.lang.smalltalk
  1528. Subject: Re: Smalltalk on PC/Compiling
  1529. Date: 12 Jun 93 17:55:40 GMT
  1530. Organization: ParcPlace Systems, Inc.
  1531.  
  1532.     [a poster who requests anonymity] writes:
  1533.  
  1534. ...
  1535. >>4 - Is there a SmallTalk compiler available for Dos?
  1536. >    Not as such... Smalltalk is a P-Machine
  1537. ...
  1538. >>6 - Is there such a thing as a SmallTalk compiler?
  1539. >> 
  1540. >    As I said above, it's a P-Machine, not exactly a compiler.
  1541. ...
  1542.  
  1543.  
  1544. The term "P-machine" implies that Smalltalk implementations interpret
  1545. pseudo-code. In the first place, interpretation/compilation is not
  1546. a language feature but rather an implementation choice. In the second
  1547. place, ParcPlace Smalltalk does not interpret bytecode.
  1548.  
  1549. What happens as a result of a message send in ParcPlace Smalltalk is:
  1550.  
  1551.     - first the system checks to see if the method has
  1552.       already been translated to machine code that has
  1553.       been cached in memory
  1554.     - if the native machine code form is in the cache,
  1555.       the system executes that machine code
  1556.     - if the cache doesn't contain a translated form of
  1557.       the method, the system dynamically compiles the method's
  1558.       bytecode into native machine code, storing into the
  1559.       cache, and then executes the code from the cache.
  1560.  
  1561. Dynamic translation yields the benefits of the execution speed of
  1562. compiled code and the space compactness of bytecode. If all the code
  1563. in a running Smalltalk image were kept purely in the form of compiled
  1564. machine code, the image would consume 5-10 times as much memory, and
  1565. therefore could in fact degrade performance on a virtual memory system
  1566. by causing increased paging.
  1567. --
  1568. Michael Khaw    khaw@parcplace.com (or khaw%parcplace.com@netcom.com)
  1569. ParcPlace Systems, Sunnyvale, CA    PRODUCT INFO: info@parcplace.com
  1570.  
  1571. ---
  1572.  
  1573. End of Smalltalk FAQ
  1574.  
  1575. -- 
  1576. -----------------------------------------------------------------------------
  1577. Craig R. Latta          |  Experimental Computing Facility, UC Berkeley (XCF)
  1578. Composer and            |  Atari Games Audio Group         <Latta@AGames.COM>
  1579.     Computer Scientist  |  The NetJam Project            <NetJam-request@XCF>
  1580. Craig.Latta@NetJam.ORG  |  The Smallmusic Project    <Smallmusic-request@XCF>
  1581. (standard  disclaimer)  |  Biggles' Home for the Oversubscribed (wanna join?)
  1582. -----------------------------------------------------------------------------
  1583.  
  1584.